package com.bdqn.util;

import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;

/**
 * 错误处理页
 */
@ControllerAdvice
public class GlobalDefaultExceptionHandler {
    @ExceptionHandler(value = Exception.class)
    public Object defaultErrorHandler(HttpServletRequest req, Exception e) {
        ModelAndView mv = new ModelAndView();
        mv.addObject("exception", e);
        mv.addObject("url", "对不起，服务器繁忙，请稍后再试");
        //注意：这个视图名  不要叫error
        mv.setViewName("error1");// 指定发生异常之后跳转页面 逻辑视图名
        /* SpringBoot中有默认的异常跳转路径（可能命名为error），而且其中有timestamp	的属性，
         * 而当我们发生异常指定其跳转至error.html时，
         * 系统会以为是要跳转至默认的异常处理路径，就会去加载timestamp属性，这时当然是加载不到的
         */
        return mv;
    }
}